package com.digua.atools.tools;

import com.digua.atools.tools.listener.DataToAttrListener;

/**
 * @author:digua
 * @dat:2021/10/19
 * @description:通用工具类
 */
public class Utils {

    /**
     * 对象获取bool
     * @param data 要获取属性的对象，为空时返回false
     * @param listener 为空且data类型不空boolean类型时，返回false
     * @param <T>
     * @return
     */
    public static <T> boolean getBool(T data, DataToAttrListener<T, Boolean> listener) {
        if (data == null) {
            return false;
        }
        if (data instanceof Boolean) {
            return (Boolean) data;
        }
        if (listener == null) {
            return false;
        }
        Boolean res = listener.toAttr(data);
        return res == null ? false : res.booleanValue();
    }
}
